'use strict';

/*
    Buffer在操作系统申请内存，使用slab机制，一次向操作系统申请poolSize的内存。
*/

console.log('init rss', process.memoryUsage().rss);
console.log('pool size', Buffer.poolSize);
console.log('show rss', process.memoryUsage().rss);
/*
    构造一个buffer，系统会申请一个slab，即poolSize大小的内存。
 */
Buffer.from([1, 2, 3]);
/*
    再次构造buffer，由于空间不大，依然可以和之前的buffer共享一个slab。
    如果申请的buffer过大，现有的slab不足以分配，则开启新的slab。若之前的slab有剩余空间，则浪费掉。
    如果申请大于poolSize的buffer，则独占一个足够大的slab。
 */
Buffer.from([1, 2, 3]);
console.log('apply a buffer', process.memoryUsage().rss);
